General Tips: Examine scripts in this stack for examples!
It can take a few seconds for a long list to be processed and for the list box to appear on the screen. When this is the case, it's nice to change the cursor into a watch before calling the DoList command, so the user knows that something is happening.
Using fields to hold lists instead of other types of containers can be very convienient to edit. Hide the field if you don't want the user to see it. This makes scripting much easier and more elegant.
If you are allowing users to select more than one file (see Flag Setting) then be sure to check item 1 of the result. It's possible for them to click on the Select button with no files selected, in which case item 1 of the result will be zero. You can treat this as a Cancel.